Relationship graphs for artificial intelligence character models

ABSTRACT

Systems and methods for providing interactions of an Artificial Intelligence (AI) character model with users are provided. An example method includes receiving a message from a user of a client-side computing device; retrieving, from a graph, information concerning relationships between the AI character model and the user; generating, based on the message and the information concerning relationships, an action associated with AI character model; and causing the AI character model to perform the action in a virtual environment provided to the user via the client-side computing device. The client-side computing device may be in communication with a computing platform. The graph may include a first node associated with the AI character model, a second node associated with the user, and an edge between the first node and the second node. The edge may be associated with the information concerning relationships between the AI character model and the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority of U.S. Provisional PatentApplication No. 63/335,900 filed on Apr. 28, 2022, entitled“RELATIONSHIP GRAPHS FOR ARTIFICIAL INTELLIGENCE CHARACTER MODELS.” Thesubject matter of aforementioned application is incorporated herein byreference in its entirety for all purposes.

TECHNICAL FIELD

This disclosure generally relates to artificial intelligence (AI)-basedcharacter models. More particularly, this disclosure relates toproviding interactions of an AI-based character model with users.

BACKGROUND

Virtual characters are widely used in various software applications,such as games, metaverses, social media, messengers, video communicationtools, and online training tools. Some of these applications allow usersto interact with virtual characters. However, existing models of virtualcharacters are typically developed for specific applications and do notallow integration with other applications and environments. Moreover,existing virtual character models are typically based on descriptions ofspecific rules and follow specific logic.

Parameters of conventional virtual character models typically remainunchanged for the entire interaction between users and virtualcharacters. This approach results in virtual character models that lackthe ability to adapt their interactions and conversations to a specificuser. Specifically, conventional virtual character models lack theability to adjust their behavioral characteristics based on changingrelationships with the specific user, between the user and other virtualcharacters, and between the user and other users. Example relationshipsinclude topics previously discussed by users and virtual characters, anattitude of a virtual character to a user, such as friendly or hostile,and the like. Accordingly, tools are needed that would allow virtualcharacter models to change their interactions with users based onchanging relationships between the users and the virtual characters.

SUMMARY

This section is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription section. This summary is not intended to identify keyfeatures or essential features of the claimed subject matter, nor is itintended to be used as an aid in determining the scope of the claimedsubject matter.

In one example embodiment, a computing platform for providinginteractions of an AI-based character model with users is provided. Thecomputing platform may include a processor and a memory storinginstructions to be executed by the processor. The computing platform maybe configured to receive a message from a user of a client-sidecomputing device. The client-side computing device may be incommunication with the computing platform. The computing platform may befurther configured to retrieve, from a graph, information concerningrelationships between the AI character model and the user. The graph mayinclude a first node associated with the AI character model, a secondnode associated with the user, and an edge between the first node andthe second node. The edge may be associated with the informationconcerning relationships between the AI character model and the user.The computing platform may be further configured to generate, based onthe information concerning relationships and the message, an actionassociated with the AI character model. The computing platform may befurther configured to cause the AI character model to perform the actionin a virtual environment provided to the user via the client-sidecomputing device.

In another example embodiment, a method for providing interactions of anAI character model with users is provided. The method may be implementedby a processor of a computing platform for providing interactions of anAI character model with users. The method may commence with receiving amessage from a user of a client-side computing device. The client-sidecomputing device may be in communication with the computing platform.The method may proceed with retrieving, from a graph, informationconcerning relationships between the AI character model and the user.The graph may include a first node associated with the AI charactermodel, a second node associated with the user, and an edge between thefirst node and the second node. The edge may be associated with theinformation concerning relationships between the AI character model andthe user. The method may further include generating, based on theinformation concerning relationships and the message, an actionassociated with the AI character model. The method may proceed, causingthe AI character model to perform the action in a virtual environmentprovided to the user via the client-side computing device.

According to another example embodiment, provided is a non-transitorycomputer-readable storage medium having instructions stored thereon,which, when executed by one or more processors, cause the one or moreprocessors to perform steps of the method for providing interactions ofan AI character model with users.

Additional objects, advantages, and novel features of the examples willbe set forth in part in the description which follows, and in part willbecome apparent to those skilled in the art upon examination of thefollowing description and the accompanying drawings or may be learned byproduction or operation of the examples. The objects and advantages ofthe concepts may be realized and attained by means of the methodologies,instrumentalities and combinations particularly pointed out in theappended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example and not limitation in thefigures of the accompanying drawings, in which like references indicatesimilar elements.

FIG. 1 illustrates an environment within which methods and systems forproviding interactions of an AI character model with users can beimplemented.

FIG. 2 is a block diagram illustrating a platform for generating an AIcharacter model, according to an example embodiment.

FIG. 3 provides additional details for an AI character model, inaccordance with an example embodiment.

FIG. 4 is an architecture diagram that shows using a surroundingarchitecture of an AI character model to control an output and behaviorgenerated by large language models (LLMs), according to an exampleembodiment.

FIG. 5 is a detailed architecture diagram showing a surroundingarchitecture of an AI character model, according to an exampleembodiment.

FIG. 6A is a detailed architecture diagram showing a surroundingarchitecture of an AI character model, according to an exampleembodiment.

FIG. 6B is a detailed architecture diagram showing a surroundingarchitecture of an AI character model, according to an exampleembodiment.

FIG. 7A shows an architecture diagram illustrating AI character modelswith goal-oriented behavior, according to an example embodiment.

FIG. 7B shows an architecture diagram illustrating AI character modelswith goal-oriented behavior, according to an example embodiment.

FIG. 8 is a block diagram illustrating a narrative structure that showsa context of scenes used to distinguish context for goals, according toan example embodiment.

FIG. 9 is a block diagram illustrating a structure of goals withinscenes, according to an example embodiment.

FIG. 10 is a schematic diagram showing a relationship graph, accordingto an example embodiment.

FIG. 11 is a flow chart illustrating a method for providing interactionsof an AI character model with users, according to an example embodiment.

FIG. 12 is a high-level block diagram illustrating an example computersystem, within which a set of instructions for causing the machine toperform any one or more of the methodologies discussed herein can beexecuted.

DETAILED DESCRIPTION

The following detailed description of embodiments includes references tothe accompanying drawings, which form a part of the detaileddescription. Approaches described in this section are not prior art tothe claims and are not admitted to be prior art by inclusion in thissection. The drawings show illustrations in accordance with exampleembodiments. These example embodiments, which are also referred toherein as “examples,” are described in enough detail to enable thoseskilled in the art to practice the present subject matter. Theembodiments can be combined, other embodiments can be utilized, orstructural, logical, and operational changes can be made withoutdeparting from the scope of what is claimed. The following detaileddescription is, therefore, not to be taken in a limiting sense, and thescope is defined by the appended claims and their equivalents.

The approaches described in this section could be pursued but are notnecessarily approaches that have previously been conceived or pursued.Therefore, unless otherwise indicated, it should not be assumed that anyof the approaches described in this section qualify as prior art merelyby virtue of their inclusion in this section.

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present disclosure. However, it will beapparent to one of ordinary skill in the art that the present disclosuremay be practiced without these specific details. In other instances,well-known methods, procedures, components, and circuits have not beendescribed in detail so as not to unnecessarily obscure aspects of theembodiments.

Embodiments of the present disclosure are directed to a platform forgenerating AI character models and performing interactions between theAI character models and users. In one example embodiment, the platformmay receive a description of a character and generate an AI charactermodel capable of interacting with users verbally and through emotions,gestures, actions, and movements. The description can be provided asnatural language describing a role, motivation, and environment of an AIcharacter. The platform may utilize a common knowledge concerning the AIcharacter to train the AI character model in order to interact with theusers. The AI character model may evolve its characteristics, changeemotions, and acquire knowledge based on conversations with the users.

The AI character model may utilize a LLM in conversations with theusers. The platform may apply restrictions, classifications, shortcuts,and filtering in response to user questions to form an appropriaterequest to the LLMs and to obtain more effective and appropriateresponses to user questions and messages. For example, prior to sendinga request to the LLM, the platform may classify and filter the userquestions and messages to change words based on the personalities of AIcharacters, emotional states of AI characters, emotional states ofusers, context of a conversation, scene and environment of theconversation, and so forth. Similarly, the platform may adjust theresponse formed by the LLM by changing words and adding fillers based onthe personality, role, and emotional state of the AI character. The AIcharacter model may change emotions based on the role of the AIcharacter and in response to emotions of the user.

The platform may include integration interfaces, such as applicationprogramming interfaces (APIs), allowing external applications to use theAI character model. The AI character models generated by the platformcan be used in game applications, virtual events and conversations,corporate trainings, and so on.

Some embodiments of the present disclosure relate to a system and amethod for providing interactions of an AI character model with users.The system and the method may be integrated into the platform forgenerating AI character models. The system and the method may trackrelationships between AI characters and users and generate responses ofthe AI characters in conversations with the users and changecharacteristics of the interactions of the AI characters with usersbased on the relationships.

In an example embodiment, the method may commence with receiving amessage from a user of a client-side computing device. The client-sidecomputing device may be in communication with the computing platform.Upon receiving the message from the user, the method may proceed withretrieving information concerning relationships between the AI charactermodel and the user. The AI character models may be presented to the userin a form of AI characters in a virtual environment provided to the uservia the client-side computing device.

The information concerning relationships may be retrieved from a graph,also referred herein to as a relationship graph. The graph may include aplurality of nodes and a plurality of edges connecting the nodes. The AIcharacters and users may be associated with nodes of the graph and theinformation concerning relationships between the AI characters and theusers may be associated with edges of the graph. The stored informationconcerning relationships may be retrieved and used for providinginteractions of the AI character models with the users in the virtualenvironment.

In an example embodiment, the graph may include a first node associatedwith the AI character model, a second node associated with the user, andan edge between the first node and the second node. The edge may beassociated with the information concerning relationships between the AIcharacter model and the user. In an example embodiment, the informationconcerning relationships may include data concerning historical data ofconversations between the AI character model and the users, a currentconversation between an AI character and the user, parameters associatedwith AI characters, parameters associated with the user, and the like.

Upon retrieving the information concerning relationships, the method mayproceed with generating, based on the information concerningrelationships and the message, an action associated with the AIcharacter model. The method may proceed with causing the AI charactermodel to perform the action in the virtual environment. The client-sidecomputing device may present the action to the user.

Generally, each node of the graph represents a specific AI character ora specific user. The relationship between the user and the AI characteris represented by an edge between the node associated with the user andthe node associated with the AI character. The relationship represents aspecific instantiation of the brain (i.e., specific data in a memorystoring information associated with the AI character model) of the AIcharacter for a specific user. The brain of the AI includes informationknown to the AI character in the virtual environment and used forgenerating interactions of the AI character with the user. The virtualenvironment may have a plurality of users playing a game (e.g., Alice inWonderland) and each of users may be associated with a differentinstance of the brain of the same AI character. Depending on how eachuser interacts with the AI character, the graph of relationships of eachspecific user with the AI character changes.

Referring now to the drawings, FIG. 1 illustrates an environment 100within which methods and systems for providing interactions of an AIcharacter model with users can be implemented. The environment 100 mayinclude a client-side computing device 102 associated with a user 104, acomputing platform 106 for providing an AI character model, and a datanetwork shown as a network 108. The computing platform 106 andclient-side computing device 102 (also referred to herein as a client)may communicate via the network 108.

The client-side computing device 102 may include, but is not limited to,a smartphone, a laptop, a personal computer, a desktop computer, atablet computer, a phablet, a personal digital assistant, a mobiletelephone, a smart television set, a personal computing device, and thelike. The computing platform 106 may include a processor 110 and amemory 112 storing instructions to be executed by the processor 110.

The network 108 can refer to any wired, wireless, or optical networksincluding, for example, the Internet, intranet, a Local Area Network(LAN), a Personal Area Network, Wide Area Network (WAN), a VirtualPrivate Network, a Wi-Fi® network, cellular phone networks (e.g., aGlobal System for Mobile (GSM) communications network, a packetswitching communications network, a circuit switching communicationsnetwork), Bluetooth™ radio, an Ethernet network, an IEEE 802.11-basedradio frequency network, a Frame Relay network, an Internet Protocol(IP) communications network, or any other data communication networkutilizing physical layers, link layer capability, or network layers tocarry data packets, or any combinations of the above-listed datanetworks. In some embodiments, the network 108 may include a corporatenetwork, a data center network, a service provider network, a mobileoperator network, or any combinations thereof.

The computing platform 106 may be associated with an AI character model(shown in detail in FIG. 2 ). The AI character model may be configuredto generate AI-based characters, also referred herein to as AIcharacters. The user 104 may interact with the AI characters via theclient-side computing device 102 in a virtual environment associatedwith the computing platform 106 and generated by the client-sidecomputing device 102 for presenting to the user 104. The computingplatform 106 is shown in detail in FIG. 2 as a platform 200.

FIG. 2 illustrates a platform 200 for generating AI character models,according to an example embodiment. The platform 200 may include astudio 204, an integration interface 206, and an AI character model 202.AI character models are also referred to herein as AI-based charactermodels. The studio 204 and the integration interface 206 may be incommunication with data sources 226. The data sources 226 may includeonline search services. The data sources 226 may include a set ofclusters each associated with a type of a feature of an AI character.

In one example embodiment, the studio 204 may receive, via a userinterface, a character description 208 of an AI character. The studio204 may generate, based on the character description 208, an AIcharacter model 202 corresponding to the AI character

The character description 208 can be provided using a natural humanlanguage. The character description may include a description of an AIcharacter similar to a description of a character to be played that canbe provided to a real actor. The user interface of the studio 204 mayinclude input fields allowing a developer to enter different aspects(i.e., parameters) of the AI character. Each input field may define apart of the brain of the AI character.

The input fields may include a text field for entering a coredescription of the AI character. An example core description can include“Buddy is a kind young man from Argentina.” The input fields may includea text field for entering a motivation of the AI character. An examplemotivation may include “Buddy likes to dance.”

The input fields may also include a text field for entering commonknowledge and facts that the AI character may possess. For example, thefield for common knowledge may include “orcs from Mordor; orcs like toeat hobbits.”

The input fields may include fields for selecting an avatar and voice ofthe AI character. The input fields may include fields for definingmemory and personality features of the AI character. The input fieldsmay also include a text field describing the scene and environment inwhich the AI character is placed. For example, the text field for thescene may include “savanna,” “city,” “forest,” “bar,” and so forth.

The integration interface 206 may receive a user input 210, environmentparameters 212, and events 214 and generate, based on the AI charactermodel 202, a model output 216.

The user input 210 may include voice messages of a user. The voicemessages may include phrases commonly used in conversations. Theintegration interface 206 may generate, based on the voice messages,requests and provide the request to the AI character model 202 togenerate the model output 216. In an example embodiment, the requestsmay include text messages verbalized by the user and an emotional stateof the user.

The model output 216 may include verbal messages 218, gestures 220,emotions 222, and movements 224. The verbal messages 218 may includeresponses to the voice messages of the user. The gestures 220 mayinclude specific hand and facial movements of the AI character, eitheraccompanying the verbal messages 218 or occurring without the verbalmessages 218. Gestures may include, for example, waving goodbye, noddingto indicate agreement, or pointing to indicate a direction. Gestures aretypically intentional and have a specific meaning that is understood bythose familiar with the culture or context in which they are used.Emotions 222 may include intonations of the voice of the AI characterwhile uttering the verbal messages 218 or facial expressions of the AIcharacter. Movements 224 may refer to the overall movements and posturesof the body of the AI character, including the position of the arms,legs, and torso. The movements 224 can be used to convey a range ofemotions and attitudes, such as confidence, relaxation, or nervousness.Movements 224 can be both intentional and unintentional.

FIG. 3 provides additional details of an AI character model 300, inaccordance with an example embodiment. The AI character model 300 mayinclude a set of models including an avatar 302, a language model 304, agesture model 306, an emotional model 308, a behavioral model 310, andthe like. The models may include machine learning models. In someembodiments, the models can be implemented as artificial neuralnetworks. The AI character model 300 can include runtime parameters 312and design parameters 314.

The design parameters 314 may correspond to settings for personality andgeneral emotions of an AI character. The design parameters 314 can begenerated based on character description 208 received via the studio 204shown in FIG. 2 .

The runtime parameters 312 may correspond to an emotional state of an AIcharacter. The emotional state can be changed based on conversationswith the user, elements in the scene, the surrounding environment inwhich the AI character is currently present, and so forth.

The avatar 302 may include a three-dimensional body model rendering theAI character. In some embodiments, the avatar 302 can be created usingapplications currently available on the market.

The language model 304 can be based on a LLM. The LLM is a machinelearning algorithm that can recognize, predict, and generate humanlanguages on the basis of very large text-based data sets. The languagemodel 304 may form a request for the LLM, receive a response from theLLM, and process the response from the LLM to form a response to voicemessages of the user. The request for the LLM can include classificationand adjustment of the text requests from the integration interface 206,according to the current scene, environmental parameters, an emotionalstate of the AI character, an emotional state of the user, and currentcontext of the conversation with the user. Processing of the responsefrom the LLM may include filtering of the response to exclude unwantedwords, verifying relevancy of the response, changing the words in theresponse, and adding fillers to phrases according to the personality ofAI characters. In other embodiments, the language model 304 may alsoretrieve data from available sources, such as Wikipedia® or GameWikipedia®, to generate the response.

The gesture model 306 may generate a movement of the body of the AIcharacter based on the response to the user, an emotional state of theAI character, and current scene parameters. For example, the AIcharacter may turn to the user and raise a hand in response to agreeting from the user. The greeting gestures can differ based on scenesand environments.

The emotional model 308 may track the emotional state of the AIcharacter based on the context of the conversation with the user, anemotional state of the user, a scene and environmental parameters, andso forth.

The behavioral model 310 may track and change behavioral characteristicsof the AI character as a result of conversations with users or changesin the environment and scenes during a predetermined time period.

In general, the LLM can statistically suggest a continuation to anyinput provided to the LLM. If a conversation is started by using theLLM, the LLM may propose the next step for the conversation. Forexample, if a conversation includes a story related to some topic, theLLM may propose the next line for the story. One of the keycharacteristics of LLMs is the fact that LLMs are large. In particular,the LLMs are trained on vast amounts of data. When used inconversations, the LLMs can statistically suggest some text determinedby the LLMs to be meaningful in the next step of the conversation.Therefore, the LLMs conventionally build the conversation based on thetext itself.

FIG. 4 is an architecture diagram 400 that shows using a surroundingarchitecture of an AI character model to control an output and behaviorgenerated by LLMs, according to an example embodiment. The main stepsimplemented to control the output and behavior of AI characters usingthe AI character model include an input step 402 (step A), atransformation step 404 (step B), an orchestration step 406 (step C),and a generation step 408 (step D). The input step 402 includesproviding a connection with a client and performing input streaming. Thetransformation step 404 includes pre-processing and transforming anincoming data stream. The orchestration step 406 and the generation step408 include processing and transforming an incoming data stream. StepsA-D are shown in detail in FIG. 5 , FIG. 6A, and FIG. 6B.

FIG. 5 is a detailed architecture diagram 500 showing a surroundingarchitecture of an AI character model, according to an exampleembodiment. The input step (step A) may include establishing aconnection between a client and a server, as shown in block 502. In anexample embodiment, the client may include a user device associated witha user. The user may use the client device to interact with AIcharacters in a virtual environment using an application running on theuser device. To establish the connection between the system of thepresent disclosure and the client, a server (e.g., a web server), a gameclient, and an application running on the user device may be provided.The server, the game client, and the application may be set up based onpredetermined rules to enable streaming multimodal inputs from theclient to the server, as shown in block 504. The inputs are shown indetail in FIG. 6A.

FIG. 6A and FIG. 6B show a detailed architecture diagram 600 thatillustrates a surrounding architecture of an AI character model,according to an example embodiment. The connection established betweenthe client and the server via predetermined protocols enables collectinga plurality of streams of inputs from the client. Each stream may beassociated with one of multiple modalities. In an example embodiment,the modality may include a type of data. As shown in FIG. 6A, the inputscollected from the client may include text 602, audio 604, visuals 606,events 608, actions 610, gestures (not shown), and so forth.

Referring again to FIG. 5 , the transformation step (step B) may includepre-processing the incoming streams of data in block 506. The streams ofinputs may be pre-processed differentially based on the specificmodality. The pre-processing may include converting the received inputsinto a singular format. The pre-processing is shown in detail in FIG.6A.

As shown in FIG. 6A, the text 602 is in the form of a natural languageand may need no pre-processing. The audio 604 may be pre-processed usinga speech to text conversion 612, in the course of which the audio inputmay be transformed into text. The visuals 606 may be pre-processed usinga machine vision 614 based on object classification, environmentunderstanding, and so forth.

The events 608 may include any event received from the client. Anexample event may include a button click in a game, an AI charactermoving a sword in a game, a button click in a web application, and soforth. The actions 610 may be received from an environment of AIcharacters with which the user interacts. An example action may includereacting to a horse riding by in an application, calling a web hook toretrieve information, and so forth. The events 608 and the actions 610may be processed into client triggers 616. Based on the pre-processing,all inputs may be transformed into text and/or embeddings 618. Theembeddings (also referred to as word embeddings) are wordrepresentations, in which words with similar meaning have a similarrepresentation. Thus, a pre-processed data stream in the form of textand/or embeddings 618 may be obtained upon pre-processing of thereceived inputs.

Referring again to FIG. 5 , the transformation step (step B) may furtherinclude running the pre-processed data through a series of machinelearning models that represent different elements of cognition andproducing intermediate outputs, as shown in block 508. Processing thedata using the series of machine learning models is shown in detail inFIG. 6A.

As shown in FIG. 6A, the text and/or embeddings 618 may be passedthrough a plurality of machine learning models shown as heuristicsmodels 620. The processing of the text and/or embeddings 618 using theheuristics models 620 may include passing the text and/or embeddings 618through a goals model 622, a safety model 624, an intent recognitionmodel 626, an emotion model 628, an events model 630, and a plurality offurther heuristics models 632.

The goals model 622 may be configured to process the text and/orembeddings 618 and recognize, based on what was said by the user or theAI character, what goals need to be activated. The safety model 624 maybe configured to process the text and/or embeddings 618 and filter outunsafe responses. The intent recognition model 626 may be configured toprocess the text and/or embeddings 618 and determine what a player(i.e., a user) intends to do and use an intent to trigger one or moreevents at a later point of interaction of the player with AI charactersin the game.

The emotion model 628 may be configured to process the text and/orembeddings 618 and update, based on what the player said, the emotionsof the AI character. The events model 630 may be configured to processthe text and/or embeddings 618 and determine the events. The events mayact as triggers for performing an action based on predetermined rules.For example, a predetermined rule may include a rule according to whichwhen the player steps into a specific location (the event) near the AIcharacter, the AI character takes a predetermined action.

Upon the processing of the data, the heuristics models 620 may provideintermediate outputs. Each of the intermediate outputs provided by theheuristics models 620 may be a differential element. Specifically, thegoals model 622, the safety model 624, the intent recognition model 626,the emotion model 628, and the events model 630 may each provide aspecific sort of a separate element. The separate elements need to beorchestrated by composing together into a specific templated format.

Referring again to FIG. 5 , the orchestration step (step C) may includecomposing the intermediate outputs received from the heuristics modelsinto templated formats for ingestion by LLMs and animation, gesture, andaction models in block 510. Upon composing the intermediate outputs intoa template, the composed outputs may be fed into primary modelsrepresenting elements of multimodal expression, as shown in block 512.The orchestration step (step C) is further shown in detail in FIG. 6B.

As shown in FIG. 6B, the orchestration step (step C) may includeformatting and representation 634 of the intermediate outputs receivedfrom the heuristics models. Upon being formatted, the composed data maybe sent to another series of AI models. Specifically, the composed datareceived in block 510 shown in FIG. 5 may include dialogue prompts 636,active goals and actions 638 (i.e., what goals and actions need to beactive based on what was said or done by the user or the AI character),animation and gesture state 640 (i.e., what gestures or animations needto be active depending on the emotional state and the goal), narrativetriggers 642, voice parameters 644, and so forth. The dialogue prompts636 may be provided to a LLM 646. The active goals and actions 638 maybe provided to a goals and actions model 648, the narrative controller650, and the animation and gesture model 652. The animation and gesturestate 640 may be provided to the goals and actions model 648, thenarrative controller 650, and the animation and gesture model 652.

The narrative triggers 642 may be provided to the goals and actionsmodel 648, the narrative controller 650, and the animation and gesturemodel 652. An example of the narrative triggers 642 may include words “Iwant to be in the investigation” said by the player. The goals andactions model 648, the narrative controller 650, and/or the animationand gesture model 652 may receive this narrative trigger and change thestoryline and progress forward in the game.

The voice parameters 644 may be used for enacting the voice in thevirtual environment. For example, if the AI character is angry, thevoice parameter “angry” may be used to change the voice of the AIcharacter in the game. If the state of the AI character changes to veryforceful, the state can be shown by changing the voice of the AIcharacter.

Referring again to FIG. 5 , the generation step (step D) may includeusing primary models and systems to generate final behavior-aligned dataoutputs in block 514. The generation step (step D) may further includestreaming outputs through predetermined protocols to the client andapplying final transformations in block 516. The generation step (stepD) is further shown in detail in FIG. 6B.

As shown in FIG. 6B, the LLM 646 is a model used to generate a dialogueoutput 654. The goals and actions model 648 and the narrative controller650 both decide what needs to be sent to the client side. The clientside may be represented by a client engine, a game engine, a webapplication running on a client-side computing device, and the like. Thegoals and actions model 648 and the narrative controller 650 may decidewhat needs to be enacted on the client side. The animation and gesturemodel 652 may decide what animations or gestures need to be activated onthe client side to enact the behavior of AI characters. Therefore, thegoals and actions model 648, the narrative controller 650, and theanimation and gesture model 652 provide client-side narrative triggers656 and animation controls 658. The dialogue output 654, the client-sidenarrative triggers 656, and the animation controls 658 provide thedialogue, the events, the client-side triggers, and the animations thatneed to be enacted on the client side.

The dialogue output 654, the client-side narrative triggers 656, theanimation controls 658, and the voice parameters 644 may be processedusing text to speech conversion 660. The output data obtained uponapplying the text to speech conversion 660 are sent as a stream to theclient 662. The game engine animates the AI character based on thereceived data to provide the generative behavior of the AI character.The animating may include, for example, instructing the AI character onwhat to say, how to move, what to enact, and the like.

FIG. 7A and FIG. 7B show an architecture diagram 700 illustrating AIcharacter models with goal-oriented behavior, according to an exampleembodiment. The AI character models may include generative modelsconfigured to follow sequential instructions for dialog and actions thatare driven by a specific purpose or intent for AI-driven characters.FIG. 7A shows possible user inputs 702 and input impact for goals model704. The possible user inputs 702 include fields that are exposed to theuser and can be changed by the user in the studio. The input impact forgoals model 704 includes impacts of each user input on the goals model.

Compared to general language models that provide general goals for AIcharacters, the goals model enables providing specific goals. FIG. 7Ashows that each type of configuration caused by the possible user inputs702 may influence the goals and actions of the AI character. Morespecifically, the AI character personality and background description706 selected by the user has an impact on the constitution of AIcharacter personality and style, which biases the reason for which, andmanner in which, the AI character pursues goals, as shown in block 708.Therefore, the AI character personality and background description 706may influence how the AI character enacts its goals. For example, if theAI characters are Alice in Wonderland versus Jack Sparrow, the AIcharacters may have the exact same goal (e.g., to show their house to aplayer). However, the AI characters may show their houses in completelydifferent ways because the AI characters represent two different people.

The motivations 710 received from the user may structure top-levelmotivations that underlie the reasoning for all AI character behaviorand directions, as shown in block 712. Therefore, the motivations 710may effectively determine why this AI character is pursuing this goal,i.e., determine the top-level motivation of the AI character. Forexample, the motivation of Alice in Wonderland is to get home. The goalsof Alice are to ask the Mad Hatter what he knows about Wonderland. Thesegoals may be determined and provided to the top level motivation.

Flaws and challenges 714 selected by the user allow establishment offlaws and challenges for the AI character, which may influence,motivate, or hinder goal enactment by the AI character, as shown inblock 716.

An identity profile 718 selected by the user may specify elements of anAI character (e.g., role, interests) which may have an influence on howthe AI character pursues goals (e.g., a policeman trying to uncoverinformation differently from a salesperson), as shown in block 720. Theflaws and challenges 714 and the identity profile 718 are ways ofenacting so as to influence the goal more contextually. For example, theAI character is Indiana Jones and his flaw is that he is scared ofsnakes. The goal of the AI character is to cross a cavern covered insnakes. Therefore, based on the flaw, the AI character may say, “Oh, I′mso scared of snakes,” and then achieve the goal. Therefore, the flawsand challenges 714 are used to add a context to the goal-orientedbehavior of the AI character. The identity profile 718 is used similarlyto further contextualize the goal-oriented behavior of the AI character.For example, the AI characters may include a police person (a firstidentity) and a salesperson (a second identity) both trying to uncoverinformation, but the salesperson may do it very differently than thepolice person.

An emotional profile 722 received from the user may be used to establishan emotional profile of an AI character, such that the emotional profilemay influence expression of goals, as shown in block 724. The emotionalprofile 722 may include the expression. For example, the introvertednessof the AI character may be turned up to make the AI characterintroverted, in which case if the AI character had to sell something orthe AI character had to say something to someone, the AI character maybe more nervous than if the AI character was extroverted.

Various parts of memories, such as a personal memory 726, worldknowledge 730, and contextual knowledge 734 provide information that maybe relevant to the pursuit of a goal. Specifically, the personal memory726 may be used to provide an AI character with personal memories thatmay be brought up during the pursuit of a goal, as shown in block 728.For example, if the AI character remembers that the AI characterrecently was bitten by a dog and the goal is to go in and tie up a dog,the AI character may express fear or angst and say, “Oh, I can do that,but I′m really scared, I had this bad experience.” Therefore, changingthe behavior of the AI character based on the personal memory 726 makesthe behavior more realistic.

The world knowledge 730 may be used to integrate information about theworld to contextualize pursuit of the goal, as shown in block 732. Theworld knowledge 730 may be used to further contextualize the behavior ofthe AI character. For example, in a specific science fiction world, theAI character knows that all the police are corrupt in an area andworking for an evil overlord. Therefore, the AI character may be scaredor show more cautious when pursuing an investigation.

The contextual knowledge 734 may be processed to include informationabout an environment or context to contextualize pursuit of the goal, asshown in block 736. For example, if a volcano has just exploded and theAI character is asked to carry a girl to safety, the AI character mayshow more hurriedness and may be forceful to the girl, versus if thatwas not true, the AI character might pursue the goal differently.

Voice configuration 738 may be used to determine the configuration ofvoice in real-time, which can allow AI characters to show differentexpressions when pursuing a goal, as shown in block 740. For example, ifthe AI character is a fireman who is saving someone, it may be extremelyloud in a burning building; therefore, the voice of the AI character maybe made loud and forceful. The AI character may pursue the goaldifferently as compared, for example, the case when the AI character wasdoing the same actions in a courtroom.

Dialogue style controls 742 may be used to control a dialogue style ofan AI character. The dialogue style may influence the manner and styleof speech of the AI character, as shown in block 744. For example, theuser may set the dialog style to be a modern day New York dialogue styleor a Wild West style. In each of the styles, the AI character may usedifferent words. For example, a Wild West bartender may use slang whenselling a drink.

Goals and actions 746 received from the user may be processed to specifythe goals that an AI character has per scene, and then set up theactions that the AI character has available to pursue the goal, as shownin block 748. Therefore, the goals and actions 746 specify the goals forthe scene in which the AI character is currently present, the sequenceof goals, and actions that the AI characters have to do to pursue thegoals.

Animation triggers and controls 750 may include animations and gestures,which may determine which actual physical movements the AI character cantake to pursue the goal, as shown in block 752. For example, the AIcharacter is selling an item and needs to take the item off the shelfand show it to the player when selling.

The input impact for goals model 704 are provided to a plurality of AImodels to generate a consequent behavior 754 due to goal configurations,as shown in FIG. 7B. More specifically, the LLM may determine what theAI character needs to say to enact the goal, as shown in block 756. Thegoals and actions model shown in block 758 is the controller fordetermining which goals need to be pursued and in which order, when isthe goal confirmed as complete, and the like.

The narrative controller determines how the narrative progressesdepending on how the AI character pursues the goal (the goal issuccessful or failed) and if the narrative shifts as a result of asuccess or a failure, as shown in block 760. For example, in a game anAI character is supposed to save a girl, but the AI character fails, andthe girl dies. This failure to complete the goal may change thenarrative. The narrative controller may send a trigger to change thebehavior of the AI character based on this failure to the game engine.

The text to speech conversion model determines how the AI characterspeaks his lines (audio) to pursue the goal, as shown in block 762. Theparameters to be changed may also include, for example, the dialoguestyle and voice configuration.

The animation and gesture model may determine what actual actions,animations, or gestures the AI character enacts to pursue the goal(e.g., smiling and taking an item off the shelf, picking up a girl tosave her from a burning building), as shown in block 764.

The outputs obtained in blocks 756-764 may include a dialogue output(audio or text) 766, client side narrative triggers 768, and animationcontrols 770. The dialogue output (audio or text) 766, the client sidenarrative triggers 768, and the animation controls 770 may be providedto a client 772 (e.g., a client engine, a game engine, a webapplication, and the like).

FIG. 8 is a block diagram 800 illustrating a narrative structure thatshows a context of scenes used to distinguish context for goals,according to an example embodiment. The narrative structure may includeworld/narrative settings 802 and world knowledge 804 (world knowledgefor all AI characters in all scenes). The world/narrative settings 802and the world knowledge 804 may be used to transition from one scene toanother in a story. Therefore, a story or an experience associated withan AI character may happen as a series of scenes and transitions.

In an example embodiment, an AI character may exist in a scene 806.Based on the world/narrative settings 802 and the world knowledge 804,the scene 806 may be transitioned in block 808 into a scene 810 and ascene 812. The scene 810 may be transitioned in block 814 and the scene812 may be transitioned in block 816 into a scene 818, a scene 820, anda scene 822.

FIG. 9 is a block diagram 900 illustrating a structure of goals withinscenes, according to an example embodiment. Within each scene, for eachspecific AI character, there is a goal that the AI character has topursue. A scene 902 may be driven by a plurality of parameters. Theparameters may include scene and location knowledge 904, which mayinclude world knowledge for all AI characters. The parameters mayfurther include historical knowledge 906, which may include knowledgefrom previous scenes and from transition between the previous scene andthe current scene. The parameters may further include relationships 908,which determine relations between AI characters 910, 920, and 922. Eachof the AI characters 910, 920, and 922 may have contextual knowledge912, i.e., scene-specific knowledge. Each of the AI characters 910, 920,and 922 may further have a goal set 914. The goal set 914 may include aplurality of goals 916. Each of the goals 916 may be associated with aplurality of actions 918 to be taken by the AI character to pursue thegoals 916.

In an example embodiment, the scene 902 is a scene in which the AIcharacter 910 is Indiana Jones who enters a cave (scene and locationknowledge 904). The context is as follows: the AI character 910 knowsthat he is scared of snakes (contextual knowledge 912), but he isrunning away from enemies (contextual knowledge 912) and the AIcharacter 910 now has the first goal 916 to run through the cave andescape the snakes. Therefore, the AI character 910 has actions 918available to pursue the goal 916. The actions 918 may include running,asking for help, and the like. The next goal 916 of the AI character 910may be to find the buried treasure. The last goal 916 may be to escape.For each of those goals 916, the AI character 910 has specific actions918 that are available for the AI character 910 to pursue.

FIG. 10 is a schematic diagram showing a relationship graph 1000,according to an example embodiment. The relationship graph 1000 (alsoreferred herein to as a graph) may include nodes and edges that connectthe nodes. The nodes may be associated with AI character models andusers. The edges may include information concerning relationshipsbetween the AI character models and the users. In an example embodiment,the information concerning relationships may include historical data ofprevious conversations between the AI character model and the users, acurrent conversation between an AI character and a user, parametersassociated with AI characters, parameters associated with the user, andthe like. In some embodiments, the relationships may be associated withprevious actions performed by a user with respect to one or more AIcharacters, previous actions performed by an AI character with respectto a user, and so forth.

In an example embodiment, the relationship graph 1000 may include afirst node associated with an AI character model 1002 and a second nodeassociated with a user A 1004. The relationship graph 1000 may furtherhave an edge between the first node and the second node. The edge may beassociated with the information concerning relationships between the AIcharacter model 1002 and the user A 1004. The information concerningrelationships is shown as relationship data 1006. The relationship data1006 may include information concerning relationships between the user A1004 and other AI character models, for example AI character model 1008.The relationship data 1006 may also include information concerningrelationships of the user A 1004 and user B 1012 and relationship of theuser A 1004 and user C 1018.

The relationship graph 1000 may further include a third node associatedwith a further AI character model 1008 and a further edge between thesecond node (the user A 1004) and the third node. The further edge maybe associated with further information concerning relationships betweenthe further AI character model 1008 and the user A 1004. The furtherinformation concerning relationships is shown as relationship data 1010.The relationship data 1010 may include information concerningrelationships between the user A 1004 and other AI character models, forexample AI character model 1002. The relationship data 1010 may alsoinclude information concerning relationships of user A 1004 and user B1012 and relationship of user A 1004 and user C 1018.

The relationship graph 1000 may further include a further nodeassociated with a further user (shown as a user B 1012) and a furtheredge between the first node (the AI character model 1002) and thefurther node. The further edge may be associated with furtherinformation concerning relationships between the AI character model 1002and the user B 1012. The further information concerning relationships isshown as relationship data 1016. The relationship graph 1000 may furtherhave an edge between the third node (the further AI character model1008) and the further node (the user B 1012). The edge may be associatedwith further information concerning relationships between the further AIcharacter model 1008 and the user B 1012. The further informationconcerning relationships is shown as relationship data 1014.

The relationship graph 1000 may further include a further nodeassociated with another user (shown as a user C 1018) and a further edgebetween the first node (the AI character model 1002) and the furthernode. The further edge may be associated with further informationconcerning relationships between the AI character model 1002 and theuser C 1018. The further information concerning relationships is shownas relationship data 1020. The relationship graph 1000 may further havean edge between the third node (the further AI character model 1008) andthe further node (the user C 1018). The edge may be associated withfurther information concerning relationships between the further AIcharacter model 1008 and the user C 1018. The further informationconcerning relationships is shown as relationship data 1022.

The AI character model 1002 may be presented to the user A 1004, theuser B 1012, and the user C 1018 in the form of an AI character in avirtual environment. The further AI character model 1008 may bepresented to the user A 1004, the user B 1012, and the user C 1018 inthe form of a further AI character in the virtual environment.

Thus, the AI characters and users may be stored as nodes of therelationship graph 1000 and the information concerning relationshipsbetween the AI characters and the users may be stored as edges of therelationship graph 1000. The stored information concerning relationshipsmay be retrieved and used for providing interactions of the AI charactermodels with the users in a virtual environment.

AI character model 1002 may adjust conversations with user A 1004 basednot only on relationship data 1006, but also on relationship data 1016and relationship data 1020. Similarly, AI character model 1008 mayadjust conversations with user A 1004 based not only on relationshipdata 1010, but also on relationship data 1014 and relationship data1022. For example, AI character model 1002 may analyze relationship data1012 and relationship 1020 to retrieve opinions of user B 1012 and userC 1018 on user A 1004, a specific characteristic of user A 1004,specific facts that user A 1004 may know, specific actions that user A1004 performed previously, and so forth. AI character model 1002 mayupdate, based on information retrieved from relationship data 1016 andrelationship data 1020, relationship data 1006 and adjust theconversation with user A 1004 based on the updated relationship data1006.

In an example embodiment, the AI character model may be associated withan AI character that is an onboarding character in a game. Theonboarding character may be responsible for onboarding a user in thegame and may be configured to introduce themselves; talk about theworld; ask about user preferences, a name, or other user data; andanswer any additional questions of the user. The AI character may beconfigured to have different relationships with other AI characters orhave an attitude toward objects. The relationships of the AI charactermay depend on the personality of the user, interactions of the user orthe AI character with other users and AI characters, motivation of theuser or the AI character, and so on. In addition to the general memoryof the AI character, a portion of the memory of the AI character may bebased on information retrieved from a graph of relationships (shown asthe relationship graph 1000) between the users and the AI characters.The relationship graph 1000 may be used to store the informationconcerning relationships of the user with the AI character and other AIcharacters and generate relevant responses of the AI character to theuser and other AI characters during interaction of the AI character withthe user. For example, the AI character model may store the informationabout another AI character acting aggressively with the AI character. Ifthe AI character does not like another AI character, this informationmay be fed to the AI character model so that the AI character mayrespond accordingly.

In an example graph, one node represents a user and a plurality offurther nodes represent AI characters with which the user interacts in avirtual environment. The node associated with the user is connected byan edge with each of the nodes associated with the AI characters.Depending on the interactions between the user and the AI characters, astate of the edge (i.e., information concerning relationships) betweenthe two nodes may be updated. The information concerning relationshipsmay indicate whether the user and the AI character are friends orenemies or have a neutral relationship, or indicate a continuous stateof information concerning relationships, e.g., how friendly or angry therelationship is, and the like. A variable may be assigned to each typeof information concerning relationships. The information concerningrelationships may include a zero to a hundred score across each of thevariables.

Accordingly, an edge relationship graph 1000 is a relationship betweenat least two nodes and includes information on who the AI characters (ora user and an AI character) are and on a specific relationship statusbetween the AI characters and the users. Therefore, the edge of thegraph may include a pairing between the nodes and may represent a statusof the relationship between a user and an AI character (or between twoAI characters).

The edge may contain both a continuous representation of therelationship between the user and the AI character and a discreetnatural language description of the relationship in terms of historicaldata or historical descriptions. More specifically, the informationconcerning relationships may further include the description or ahistory of the relationship. For example, in the initial input data, therelationship is described as friendly and, in the previous conversation,a user and Alice (the AI character) spoke about their favorite animal.The information on the relationship being friendly and the informationon the favorite animal may be included in the edge (i.e., stored in thememory associated with the edge) that represents the relationshipbetween the user and the AI character.

The graph may be updated based on historical conversation between Alcharacters and users. The updates may be triggered based on emotionalparameters of the conversations, actions or events that trigger a changein relationship, the content (e.g., the natural language content)updated based on the interaction, and the like.

In an example embodiment, events that can trigger updates of the edgesof the graph may include a result of a conversation between a user andan Al character, appearance of a new AI character in a scene, or aresult of a conversation between the user and the new Al character. Forexample, a user may say a phrase to a second Al character about a firstAl character and, as a result, the relationship between the first Alcharacter and the user may change.

In an example embodiment, in which a user plays the Alice in Wonderlandgame, the user may show up to see the Queen of Hearts and the Queen ofHearts may be angry at the user. The user may have an interaction withthe Queen of Hearts in which the user may be rude and abusive and mayperform cruel actions with respect to the Queen of Hearts. Based on therude and abusive interaction of the user with the AI character, afriendliness score or a kindness score associated with the relationshipbetween the user and the AI character may be decreased.

In an example embodiment, the virtual environment may have a non-playercharacter being a peasant in a village and the user may attack thepeasant. Based on such aggressive actions of the user, the friendlinessscore associated with the relationship between the user and the AIcharacter may be decreased.

In an example embodiment, a user may have a discussion with an AIcharacter. The discussion may be a part of information relating to therelationship between the user and the AI character. Depending on theconversation between the user and Alice (the AI character), theinformation concerning relationships may be updated to include theinformation that the user and Alice discussed a specific topic (e.g.,favorite animal).

FIG. 11 is a flow chart of a method 1100 for providing interactions ofan AI character model with users, according to an example embodiment. Insome embodiments, the operations may be combined, performed in parallel,or performed in a different order. The method 1100 may also includeadditional or fewer operations than those illustrated. The method 1100may be performed by processing logic that may comprise hardware (e.g.,decision making logic, dedicated logic, programmable logic, andmicrocode), software (such as software run on a general-purpose computersystem or a dedicated machine), or a combination of both. The method1100 may be implemented with a processor of a computing platformconfigured to provide the AI character model.

The method 1100 may commence in block 1102 with receiving, by theprocessor, a message from a user of a client-side computing device. Theclient-side computing device may be in communication with the computingplatform.

In block 1104, the method 1100 may include retrieving, by the processor,from a graph, information concerning relationships between the AIcharacter model and the user. The graph may include a first nodeassociated with the AI character model, a second node associated withthe user, and an edge between the first node and the second node. Theedge may be associated with the information concerning relationshipsbetween the AI character model and the user. The example informationconcerning relationships may include one of the following: “the AIcharacter model is feeling angry with the user,” “the AI character modelis friendly with the user,” “the AI character model is neutral with theuser,” and so forth. In an example embodiment, the informationconcerning relationships may include a score. A lowest level of thescore may correspond to a state in which the AI character model ishostile to the user. A highest level of the score may correspond to afurther state in which the AI character model is friendly to the user.In some example embodiments, the information concerning relationshipsmay include a topic of a previous conversation between the AI charactermodel and the user.

In block 1106, the method 1100 may include generating, by the processorand based on the information concerning relationships and the message,an action associated with the AI character model. In block 1108, themethod 1100 may proceed with causing, by the processor, the AI charactermodel to perform the action in a virtual environment provided to theuser via the client-side computing device.

In an example embodiment, the graph may include a third node associatedwith a further AI character model and a further edge between the secondnode and the third node. The further edge may be associated with furtherinformation concerning relationships between the further AI charactermodel and the user. The action may be determined based on the furtherinformation concerning relationships.

In some example embodiments, the graph may include a third nodeassociated with a further user and a further edge between the first nodeand the third node. The further edge may be associated with furtherinformation concerning relationships between the AI character model andthe further user. The action may be determined based on the furtherinformation concerning relationships.

In an example embodiment, the action may include a verbal responseprovided by the AI character model to the user via the client-sidecomputing device. In some example embodiments, the action may include agesture executed by the AI character model in the virtual environmentprovided to the user via the client-side computing device. In an exampleembodiment, the action may include a motion of the AI character model inthe virtual environment provided to the user via the client-sidecomputing device. In some example embodiments, the action may beassociated with one of the following: an angry sentiment, a happysentiment, a neutral sentiment, and so forth.

In an example embodiment, the method 1100 may further include updatingthe information concerning relationships between the AI character modeland the user based on data concerning an interaction between the AIcharacter model and the user.

FIG. 12 is a high-level block diagram illustrating an example computersystem 1200, within which a set of instructions for causing the machineto perform any one or more of the methodologies discussed herein can beexecuted. The computer system 1200 may include, refer to, or be anintegral part of, one or more of a variety of types of devices, such asa general-purpose computer, a desktop computer, a laptop computer, atablet computer, a netbook, a mobile phone, a smartphone, a personaldigital computer, a smart television device, and a server, among others.Notably, FIG. 12 illustrates just one example of the computer system1200 and, in some embodiments, the computer system 1200 may have fewerelements/modules than shown in FIG. 12 or more elements/modules thanshown in FIG. 12 .

The computer system 1200 may include one or more processor(s) 1202, amemory 1204, one or more mass storage devices 1206, one or more inputdevices 1208, one or more output devices 1210, and a network interface1212. The processor(s) 1202 are, in some examples, configured toimplement functionality and/or process instructions for execution withinthe computer system 1200. For example, the processor(s) 1202 may processinstructions stored in the memory 1204 and/or instructions stored on themass storage devices 1206. Such instructions may include components ofan operating system 1214 or software applications 1216. The softwareapplications may include the studio 204, the integration interface 206,and the AI character model 202. The computer system 1200 may alsoinclude one or more additional components not shown in FIG. 12 , such asa housing, a power supply, a battery, a global positioning system (GPS)receiver, and so forth.

The memory 1204, according to one example, is configured to storeinformation within the computer system 1200 during operation. The memory1204, in some example embodiments, may refer to a non-transitorycomputer-readable storage medium or a computer-readable storage device.In some examples, the memory 1204 is a temporary memory, meaning that aprimary purpose of the memory 1204 may not be long-term storage. Thememory 1204 may also refer to a volatile memory, meaning that the memory1204 does not maintain stored contents when the memory 1204 is notreceiving power. Examples of volatile memories include random accessmemories (RAM), dynamic random access memories (DRAM), static randomaccess memories (SRAM), and other forms of volatile memories known inthe art. In some examples, the memory 1204 is used to store programinstructions for execution by the processor(s) 1202. The memory 1204, inone example, is used by software (e.g., the operating system 1214 or thesoftware applications 1216). Generally, the software applications 1216refer to software applications suitable for implementing at least someoperations of the methods for providing interactions of an AI charactermodel with users.

The mass storage devices 1206 may include one or more transitory ornon-transitory computer-readable storage media and/or computer-readablestorage devices. In some embodiments, the mass storage devices 1206 maybe configured to store greater amounts of information than the memory1204. The mass storage devices 1206 may further be configured forlong-term storage of information. In some examples, the mass storagedevices 1206 include non-volatile storage elements. Examples of suchnon-volatile storage elements include magnetic hard discs, opticaldiscs, solid-state discs, flash memories, forms of electricallyprogrammable memories (EPROM) or electrically erasable and programmablememories, and other forms of non-volatile memories known in the art.

The input devices 1208, in some examples, may be configured to receiveinput from a user through tactile, audio, video, or biometric channels.Examples of the input devices 1208 may include a keyboard, a keypad, amouse, a trackball, a touchscreen, a touchpad, a microphone, one or morevideo cameras, image sensors, fingerprint sensors, or any other devicecapable of detecting an input from a user or other source, and relayingthe input to the computer system 1200, or components thereof.

The output devices 1210, in some examples, may be configured to provideoutput to a user through visual or auditory channels. The output devices1210 may include a video graphics adapter card, a liquid crystal display(LCD) monitor, a light emitting diode (LED) monitor, an organic LEDmonitor, a sound card, a speaker, a lighting device, a LED, a projector,or any other device capable of generating output that may beintelligible to a user. The output devices 1210 may also include atouchscreen, a presence-sensitive display, or other input/output capabledisplays known in the art.

The network interface 1212 of the computer system 1200, in some exampleembodiments, can be utilized to communicate with external devices viaone or more data networks such as one or more wired, wireless, oroptical networks including, for example, the Internet, intranet, LAN,WAN, cellular phone networks, Bluetooth radio, and an IEEE 902.11-basedradio frequency network, Wi-Fi networks®, among others. The networkinterface 1212 may be a network interface card, such as an Ethernetcard, an optical transceiver, a radio frequency transceiver, or anyother type of device that can send and receive information.

The operating system 1214 may control one or more functionalities of thecomputer system 1200 and/or components thereof. For example, theoperating system 1214 may interact with the software applications 1216and may facilitate one or more interactions between the softwareapplications 1216 and components of the computer system 1200. As shownin FIG. 12 , the operating system 1214 may interact with or be otherwisecoupled to the software applications 1216 and components thereof. Insome embodiments, the software applications 1216 may be included in theoperating system 1214. In these and other examples, virtual modules,firmware, or software may be part of the software applications 1216.

Thus, systems and methods for providing interactions of an AI charactermodel with users have been described. Although embodiments have beendescribed with reference to specific example embodiments, it will beevident that various modifications and changes can be made to theseexample embodiments without departing from the broader spirit and scopeof the present application. Accordingly, the specification and drawingsare to be regarded in an illustrative rather than a restrictive sense.

1. A method for providing interactions of an Artificial Intelligence(AI) character model with users, the method being implemented with aprocessor of a computing platform providing the AI character model, themethod comprising: receiving, by the processor, a message from a user ofa client-side computing device, the client-side computing device beingin communication with the computing platform; retrieving, by theprocessor, from a graph, information concerning relationships betweenthe AI character model and the user, the graph including a first nodeassociated with the AI character model, a second node associated withthe user, and an edge between the first node and the second node, theedge being associated with the information concerning relationshipsbetween the AI character model and the user; generating, by theprocessor and based on the information concerning relationships and themessage, an action associated with AI character model; causing, by theprocessor, the AI character model to perform the action in a virtualenvironment provided to the user via the client-side computing device;determining, by the processor, that a conversation between the user anda further AI character model includes a phrase about the AI charactermodel; and in response to the determination, updating, by the processor,the information concerning relationships between the AI character modeland the user.
 2. The method of claim 1, wherein the action includes averbal response provided to the user via the client-side computingdevice.
 3. The method of claim 1, wherein the action includes a gestureexecuted by the AI character model in the virtual environment providedto the user via the client-side computing device.
 4. The method of claim1, wherein the action includes a motion of the AI character model in thevirtual environment provided to the user via the client-side computingdevice.
 5. The method of claim 1, wherein the information concerningrelationships includes a score and; wherein: a lowest level of the scorecorresponds to a state in which the AI character model is hostile to theuser; and a highest level of the score corresponds to a further state inwhich the AI character model is friendly to the user.
 6. The method ofclaim 1, wherein the information concerning relationships includes atopic of a previous conversation between the AI character model and theuser.
 7. The method of claim 1, wherein: the graph includes a third nodeassociated with a further AI character model and a further edge betweenthe second node and the third node, the further edge being associatedwith further information concerning relationships between the further AIcharacter model and the user; and the action is determined based on thefurther information concerning relationships.
 8. The method of claim 1,wherein: the graph includes a third node associated with a further userand a further edge between the first node and the third node, thefurther edge being associated with further information concerningrelationships between the AI character model and the further user; andthe action is determined based on the further information concerningrelationships.
 9. The method of claim 1, further comprising updating theinformation concerning relationships between the AI character model andthe user based on data concerning an interaction between the AIcharacter model and the user.
 10. The method of claim 1, wherein theaction is associated with one of the following: an angry sentiment, ahappy sentiment, and a neutral sentiment.
 11. A computing platform forproviding interactions of an Artificial Intelligence (AI) charactermodel with users, the computing platform comprising: a processor; and amemory storing instructions that, when executed by the processor,configure the computing platform to: receive a message from a user of aclient-side computing device, the client-side computing device being incommunication with the computing platform; retrieve, from a graph,information concerning relationships between the AI character model andthe user, the graph including a first node associated with the AIcharacter model, a second node associated with the user, and an edgebetween the first node and the second node, the edge being associatedwith the information concerning relationships between the AI charactermodel and the user; generate, based on the information concerningrelationships and the message, an action associated with AI charactermodel; cause the AI character model to perform the action in a virtualenvironment provided to the user via the client-side computing device;determine that a conversation between the user and a further AIcharacter model includes a phrase about the AI character model; and inresponse to the determination, update the information concerningrelationships between the AI character model and the user.
 12. Thecomputing platform of claim 11, wherein the action includes a verbalresponse provided to the user via the client-side computing device. 13.The computing platform of claim 11, wherein the action includes agesture executed by the AI character model in the virtual environmentprovided to the user via the client-side computing device.
 14. Thecomputing platform of claim 11, wherein the action includes a motion ofthe AI character model in the virtual environment provided to the uservia the client-side computing device.
 15. The computing platform ofclaim 11, wherein the information concerning relationships includes ascore; and wherein: a lowest level of the score corresponds to a statein which the AI character model is hostile to the user; and a highestlevel of the score corresponds to a further state in which the AIcharacter model is friendly to the user.
 16. The computing platform ofclaim 11, wherein the information concerning relationships includes atopic of a previous conversation between the AI character model and theuser.
 17. The computing platform of claim 11, wherein: the graphincludes a third node associated with a further AI character model and afurther edge between the second node and the third node, the furtheredge being associated with further information concerning relationshipsbetween the further AI character model and the user; and the action isdetermined based on the further information concerning relationships.18. The computing platform of claim 11, wherein: the graph includes athird node associated with a further user and a further edge between thefirst node and the third node, the further edge being associated withfurther information concerning relationships between the AI charactermodel and the further user; and the action is determined based on thefurther information concerning relationships.
 19. The computing platformof claim 11, wherein the instructions further configure the computingplatform to update the information concerning relationships between theAI character model and the user based on data concerning an interactionbetween the AI character model and the user.
 20. A non-transitorycomputer-readable storage medium, the computer-readable storage mediumincluding instructions that, when executed by a processor of a computingplatform for providing interactions of an Artificial Intelligence (AI)character model with users, cause the computing platform to: receive amessage from a user of a client-side computing device, the client-sidecomputing device being in communication with the computing platform;retrieve, from a graph, information concerning relationships between theAI character model and the user, the graph including a first nodeassociated with the AI character model, a second node associated withthe user, and an edge between the first node and the second node, theedge being associated with the information concerning relationshipsbetween the AI character model and the user; generate, based on theinformation concerning relationships and the message, an actionassociated with AI character model; cause the AI character model toperform the action in a virtual environment provided to the user via theclient-side computing device; determine that a conversation between theuser and a further AI character model includes a phrase about the AIcharacter model; and in response to the determination, update theinformation concerning relationships between the AI character model andthe user.